package com.dp.appi.service;

import com.dp.appi.dao.ProjectDao;

import java.io.IOException;
import java.util.List;
import java.util.Map;

/**
 * Created by xiaoji on 2016/4/27.
 */
public interface ProjectService {
    /**
     * 获取个人项目列表
     * @param id 当前用户id
     * @param s 开始序列
     * @param n 获取条数
     * @return
     */
    List<Map<String,Object>> getSingleProject(String id,int s,int n,String project_name,Object org_id);

    /**
     * 条件查询个人项目
     * @param id 当前用户id
     * @param s 开始序列
     * @param n 获取条数
     * @param param 查询参数
     * @return
     */
    List<Map<String,Object>> getProjectByParam(String id,int s,int n,Map<String,String> param,Object org_id);

    /**
     * 创建项目
     * @param param 创建项目需要参数
     * @param id 当前用户id
     */
    Map<String,Object> createProject(Map<String,String> param,String id);

    /**
     * 删除项目阶段
     * @param stage_id 阶段id
     * @param id 当前用户id
     */
    void delProjectStage(Long stage_id,String id);

    /**
     * 查询项目阶段信息
     * @param stage_id 项目阶段信息
     * @return
     */
    Map<String,Object> projectInfo(Long stage_id);

    /**
     * 修改项目阶段
     * @param param
     * @param id
     */
    void upProject(Map<String,Object> param);

    /**
     *   修改项目版本
     * @param codeset_version_id
     * @param project_id
     */
    void upProjectVersionid(long codeset_version_id , long  project_id);

    /**
     * 获取数据权限类别
     * @param id
     * @return
     */
    int rabcClassify(String id, long stage_id);

    /**
     * 获取最近一次的定位点踏勘数据
     * @param id
     * @param stage_id
     * @param classify
     * @return
     */
    Map<String,Object> getLastExp(Object id,Long stage_id,int classify,Integer pt_type);

    /**
     * 条件查询个人所有项目
     * @param id
     * @param param
     * @return
     */
    List<Map<String,Object>> getAllProjectByParam(String id, Map<String, String> param,Object org_id);
    /**
     * 查询阶段的基本信息
     *
     * @param stage_id 项目阶段信息
     * @return
     */
    public Map<String, Object> projectStageInfo(Long stage_id);

}

